package org.coopac.controller;

import java.awt.print.PrinterIOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import org.apache.taglibs.standard.extra.spath.ParseException;
import org.coopac.controller.admision.CreditoDataModel;
import org.coopac.controller.util.DatosLaboralesDataModel;
import org.coopac.model.CoopacDatosLaborales;
import org.coopac.model.CoopacDireccionPersona;
import org.coopac.model.CoopacDocumentoPersona;
import org.coopac.model.CoopacGarante;
import org.coopac.model.CoopacGarantiaPrendaria;
import org.coopac.model.CoopacPersona;
import org.coopac.model.CoopacRelacionPersona;
import org.coopac.model.CoopacSolicitudCredito;
import org.coopac.model.CoopacTelefonoPersona;
import org.coopac.model.CoopacTipoCredito;
import org.coopac.model.CoopacTipoMaestro;
import org.coopac.model.CoopacUbigeo;
import org.coopac.service.IDatosLaboralesService;
import org.coopac.service.IDireccionPersonaService;
import org.coopac.service.IDocumentoPersonaService;
import org.coopac.service.IGaranteService;
import org.coopac.service.IGarantiaPrendariaService;
import org.coopac.service.IPersonaService;
import org.coopac.service.IRelacionPersonaService;
import org.coopac.service.ISolicitudCreditoService;
import org.coopac.service.ITelefonoPersonaService;
import org.coopac.service.ITipoCreditoService;
import org.coopac.service.ITipoMaestroService;
import org.coopac.service.IUbigeoService;

@ManagedBean(name = "solicitud_credito")
// SessionScoped
// RequestScoped
@ViewScoped
// ApplicationScoped
public class SolicitudCreditoController implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@ManagedProperty(value = "#{tipoMaestroService}")
	ITipoMaestroService tipoMaestroService;

	@ManagedProperty(value = "#{personaService}")
	IPersonaService personaService;

	@ManagedProperty(value = "#{telefonoPersonaService}")
	ITelefonoPersonaService telefonoPersonaService;

	@ManagedProperty(value = "#{documentoPersonaService}")
	IDocumentoPersonaService documentoPersonaService;

	@ManagedProperty(value = "#{direccionPersonaService}")
	IDireccionPersonaService direccionPersonaService;

	@ManagedProperty(value = "#{relacionPersonaService}")
	IRelacionPersonaService relacionPersonaService;

	@ManagedProperty(value = "#{datoslaboralesService}")
	IDatosLaboralesService datosLaboralesService;

	@ManagedProperty(value = "#{garanteService}")
	IGaranteService garanteService;

	@ManagedProperty(value = "#{garantiaPrendariaService}")
	IGarantiaPrendariaService garantiaPrendariaService;

	@ManagedProperty(value = "#{solicitudCreditoService}")
	ISolicitudCreditoService solicitudCreditoService;

	@ManagedProperty(value = "#{ubigeoService}")
	IUbigeoService ubigeoService;

	@ManagedProperty(value = "#{tipoCreditoService}")
	ITipoCreditoService tipoCreditoService;

	// datos de la persona natural solicitante
	private List<SelectItem> listaTipoCredito;
	Double interesMensual;
	Integer meses;
	CoopacTipoCredito tipoCredito;

	CoopacPersona personaNaturalSolicitante;
	CoopacTipoMaestro tipoMaestroEstadoCivilPNS;
	CoopacTipoMaestro tipoMaestroGradoEstudiosPNS;

	CoopacTelefonoPersona telefonoPersonaNaturalSolicitante;
	CoopacTelefonoPersona telefonoPersonaNaturalSolicitante1;
	CoopacTelefonoPersona telefonoPersonaNaturalSolicitante2;
	CoopacTelefonoPersona telefonoPersonaNaturalSolicitante3;
	CoopacTipoMaestro tipoMaestroTPNS;
	CoopacTipoMaestro tipoMaestroTPNS1;
	CoopacTipoMaestro tipoMaestroTPNS2;
	CoopacTipoMaestro tipoMaestroTPNS3;

	CoopacDireccionPersona direccionPersonaNaturalSolicitante;
	CoopacUbigeo ubigeoDPNS;
	CoopacTipoMaestro tipoMaestroZonaDPNS;
	CoopacTipoMaestro tipoMaestroViaDPNS;
	CoopacTipoMaestro tipoMaestroTipoViviendaDPNS;

	CoopacDireccionPersona direccionPersonaNaturalSolicitanteDL;
	CoopacUbigeo ubigeoDLDPNS;
	CoopacTipoMaestro tipoMaestroZonaDLDPNS;
	CoopacTipoMaestro tipoMaestroViaDLDPNS;
	CoopacTipoMaestro tipoMaestroTipoViviendaDLDPNS;

	CoopacDocumentoPersona documentoPersonaNaturalSolicitante;
	CoopacTipoMaestro tipoMaestroDocumentoDPNS;

	List<CoopacDatosLaborales> datosLaboralesPersonaNaturalSolicitante;
	DatosLaboralesDataModel datosLaboralesDataModelPNS;

	CoopacDatosLaborales datosLaboralesPNS;
	CoopacDatosLaborales datosLaboralesPNS2;
	CoopacTipoMaestro tipoMaestroIngresoPNS;
	CoopacTipoMaestro tipoMaestroTelefonoPNS;

	List<CoopacTelefonoPersona> telefonoPersonaNaturalSolicitanteLista;
	List<CoopacDatosLaborales> personaNaturalTrabajoSolicitanteLista;
	CoopacDatosLaborales personaNaturalTrabajoSolicitanteSeleccionado;
	List<CoopacDireccionPersona> direccionPersonaNaturalSolicitanteDLLista;

	// datos de la conyugue
	CoopacPersona personaNaturalConyugue;
	CoopacTipoMaestro tipoMaestroEstadoCivilPNC;
	CoopacTipoMaestro tipoMaestroGradoEstudiosPNC;

	CoopacTelefonoPersona telefonoPersonaNaturalConyugue;
	CoopacTipoMaestro tipoMaestroTPNC;

	CoopacDireccionPersona direccionPersonaNaturalConyugue;
	CoopacUbigeo ubigeoDPNC;
	CoopacTipoMaestro tipoMaestroZonaDPNC;
	CoopacTipoMaestro tipoMaestroViaDPNC;
	CoopacTipoMaestro tipoMaestroTipoViviendaDPNC;

	CoopacDocumentoPersona documentoPersonaNaturalConyugue;
	CoopacTipoMaestro tipoMaestroDocumentoDPNC;

	List<CoopacDatosLaborales> datosLaboralesPersonaNaturalConyugue;
	DatosLaboralesDataModel datosLaboralesDataModelPNC;

	CoopacDatosLaborales datosLaboralesPNC;
	CoopacDatosLaborales datosLaboralesPNC2;
	CoopacTipoMaestro tipoMaestroIngresoPNC;
	CoopacTipoMaestro tipoMaestroTelefonoPNC;

	// List<CoopacTelefonoPersona> telefonoPersonaNaturalConyugue;
	// List<CoopacDireccionPersona> direccionPersonaNaturalConyugue;
	// List<CoopacDocumentoPersona> documentoPersonaNaturalConyugue;
	CoopacDatosLaborales datosCoopacDatosLaboralesPersonaNaturalConyugue;

	CoopacRelacionPersona coopacRelacionPersonaConyugue;
	CoopacTipoMaestro tipoMaestroRelacionPersonaConyugue;

	// para la lista de garantes

	CoopacPersona personaNaturalGarante;
	CoopacTipoMaestro tipoMaestroEstadoCivilPNG;
	CoopacTipoMaestro tipoMaestroGradoEstudiosPNG;

	CoopacTelefonoPersona telefonoPersonaNaturalGarante;
	CoopacTipoMaestro tipoMaestroTPNG;

	CoopacDireccionPersona direccionPersonaNaturalGarante;
	CoopacUbigeo ubigeoDPNG;
	CoopacTipoMaestro tipoMaestroZonaDPNG;
	CoopacTipoMaestro tipoMaestroViaDPNG;
	CoopacTipoMaestro tipoMaestroTipoViviendaDPNG;

	CoopacDocumentoPersona documentoPersonaNaturalGarante;
	CoopacTipoMaestro tipoMaestroDocumentoDPNG;

	CoopacDocumentoPersona documentoPersonaNaturalGaranteTemp;
	CoopacTipoMaestro tipoMaestroDocumentoDPNGTemp;

	List<CoopacDatosLaborales> datosLaboralesPersonaNaturalGarante;
	DatosLaboralesDataModel datosLaboralesDataModelPNG;

	CoopacDatosLaborales datosLaboralesPNG;
	CoopacDatosLaborales datosLaboralesPNG2;
	CoopacTipoMaestro tipoMaestroIngresoPNG;
	CoopacTipoMaestro tipoMaestroTelefonoPNG;

	CoopacGarante coopacGarantePN;
	List<CoopacGarante> coopacGarantePNLista;

	@SuppressWarnings("rawtypes")
	List personaNaturalGaranteTotal = new ArrayList();
	// List<CoopacTelefonoPersona> telefonoPersonaNaturalGarante;
	// List<CoopacDireccionPersona> direccionPersonaNaturalGarante;
	// List<CoopacDocumentoPersona> documentoPersonaNaturalGarante;
	CoopacDatosLaborales datosCoopacDatosLaboralesPersonaNaturalGarante;

	// Lista de garantes
	List<CoopacGarante> coopacGarantes;

	List<CoopacPersona> personaNaturalGaranteLista;
	List<CoopacDocumentoPersona> documentoPersonaNaturalGaranteLista;
	List<CoopacDireccionPersona> direccionPersonaNaturalGaranteLista;
	List<CoopacTelefonoPersona> telefonoPersonaNaturalGaranteLista;
	List<CoopacDatosLaborales> datosLaboralesPNGLista;
	CoopacPersona personaNaturalGaranteSeleccionado;

	@SuppressWarnings("rawtypes")
	List listaPersonaNaturalGarante = new ArrayList();

	// para la solicitud de creditos
	CoopacSolicitudCredito solicitudCredito;
	CoopacTipoMaestro tipoMaestroInteres; // fijo a rebatir
	CoopacTipoMaestro tipoMaestroDivisa; // soles dolares
	Double monto;
	Integer frecuenciaPago; // diaria anual

	List<CoopacDatosLaborales> coopacDatosLaborales;

	// garantia prendaria
	CoopacGarantiaPrendaria garantiaPrendariaPersonaNaturalSolicitante;
	List<CoopacGarantiaPrendaria> garantiaPrendariaPersonaNaturalSolicitanteLista;
	CoopacGarantiaPrendaria garantiaPrendariaPNSSelecccionado;

	// solicitud
	CoopacSolicitudCredito solcitudCredito;

	public List<SelectItem> getListaTipoCredito() {
		List<CoopacTipoCredito> o = new ArrayList<CoopacTipoCredito>();
		o.addAll(tipoCreditoService.listar());
		listaTipoCredito = new ArrayList<SelectItem>();
		for (CoopacTipoCredito ob : o) {
			listaTipoCredito.add(new SelectItem(ob.getIdTipoCredito(), ob
					.getNombre()));
		}
		return listaTipoCredito;
	}

	public void setListaTipoCredito(List<SelectItem> listaTipoCredito) {
		this.listaTipoCredito = listaTipoCredito;
	}

	public SolicitudCreditoController() {
		solicitudCredito = new CoopacSolicitudCredito();
		listaTipoCredito = new ArrayList<SelectItem>();
		tipoCredito = new CoopacTipoCredito();
		tipoMaestroInteres = new CoopacTipoMaestro();
		tipoMaestroDivisa = new CoopacTipoMaestro();

		personaNaturalSolicitante = new CoopacPersona();
		tipoMaestroEstadoCivilPNS = new CoopacTipoMaestro();
		tipoMaestroGradoEstudiosPNS = new CoopacTipoMaestro();
		telefonoPersonaNaturalSolicitante = new CoopacTelefonoPersona();
		telefonoPersonaNaturalSolicitante1 = new CoopacTelefonoPersona();
		telefonoPersonaNaturalSolicitante2 = new CoopacTelefonoPersona();
		telefonoPersonaNaturalSolicitante3 = new CoopacTelefonoPersona();
		direccionPersonaNaturalSolicitante = new CoopacDireccionPersona();
		direccionPersonaNaturalSolicitanteDL = new CoopacDireccionPersona();
		tipoMaestroTPNS = new CoopacTipoMaestro();
		tipoMaestroTPNS1 = new CoopacTipoMaestro();
		tipoMaestroTPNS2 = new CoopacTipoMaestro();
		tipoMaestroTPNS3 = new CoopacTipoMaestro();
		tipoMaestroViaDPNS = new CoopacTipoMaestro();
		tipoMaestroZonaDPNS = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDPNS = new CoopacTipoMaestro();
		ubigeoDPNS = new CoopacUbigeo();
		tipoMaestroViaDLDPNS = new CoopacTipoMaestro();
		tipoMaestroZonaDLDPNS = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDLDPNS = new CoopacTipoMaestro();
		ubigeoDLDPNS = new CoopacUbigeo();
		documentoPersonaNaturalSolicitante = new CoopacDocumentoPersona();
		tipoMaestroDocumentoDPNS = new CoopacTipoMaestro();
		datosLaboralesPNS = new CoopacDatosLaborales();
		datosLaboralesPNS2 = new CoopacDatosLaborales();
		tipoMaestroIngresoPNS = new CoopacTipoMaestro();
		tipoMaestroTelefonoPNS = new CoopacTipoMaestro();
		datosLaboralesPersonaNaturalSolicitante = new ArrayList<CoopacDatosLaborales>();
		datosLaboralesDataModelPNS = new DatosLaboralesDataModel();

		personaNaturalTrabajoSolicitanteLista = new ArrayList<CoopacDatosLaborales>();
		personaNaturalTrabajoSolicitanteSeleccionado = new CoopacDatosLaborales();
		direccionPersonaNaturalSolicitanteDLLista = new ArrayList<CoopacDireccionPersona>();

		telefonoPersonaNaturalSolicitanteLista = new ArrayList<CoopacTelefonoPersona>();

		coopacDatosLaborales = new ArrayList<CoopacDatosLaborales>();
		// coopacDatosLaborales = datosLaboralesService.listar();
		// datosLaboralesDataModelPNS = new
		// DatosLaboralesDataModel(coopacDatosLaborales);
		datosLaboralesDataModelPNS = new DatosLaboralesDataModel();

		// INICIAR DATOS CONYUGUE
		personaNaturalConyugue = new CoopacPersona();
		tipoMaestroEstadoCivilPNC = new CoopacTipoMaestro();
		tipoMaestroGradoEstudiosPNC = new CoopacTipoMaestro();
		telefonoPersonaNaturalConyugue = new CoopacTelefonoPersona();
		direccionPersonaNaturalConyugue = new CoopacDireccionPersona();
		tipoMaestroTPNC = new CoopacTipoMaestro();
		tipoMaestroViaDPNC = new CoopacTipoMaestro();
		tipoMaestroZonaDPNC = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDPNC = new CoopacTipoMaestro();
		ubigeoDPNC = new CoopacUbigeo();
		documentoPersonaNaturalConyugue = new CoopacDocumentoPersona();
		tipoMaestroDocumentoDPNC = new CoopacTipoMaestro();
		datosLaboralesPNC = new CoopacDatosLaborales();
		datosLaboralesPNC2 = new CoopacDatosLaborales();
		tipoMaestroIngresoPNC = new CoopacTipoMaestro();
		tipoMaestroTelefonoPNC = new CoopacTipoMaestro();
		datosLaboralesPersonaNaturalConyugue = new ArrayList<CoopacDatosLaborales>();
		datosLaboralesDataModelPNC = new DatosLaboralesDataModel();

		// /relacion
		coopacRelacionPersonaConyugue = new CoopacRelacionPersona();
		tipoMaestroRelacionPersonaConyugue = new CoopacTipoMaestro();

		// iniciar datos garante
		personaNaturalGarante = new CoopacPersona();
		tipoMaestroEstadoCivilPNG = new CoopacTipoMaestro();
		tipoMaestroGradoEstudiosPNG = new CoopacTipoMaestro();
		telefonoPersonaNaturalGarante = new CoopacTelefonoPersona();
		direccionPersonaNaturalGarante = new CoopacDireccionPersona();
		tipoMaestroTPNG = new CoopacTipoMaestro();
		tipoMaestroViaDPNG = new CoopacTipoMaestro();
		tipoMaestroZonaDPNG = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDPNG = new CoopacTipoMaestro();
		ubigeoDPNG = new CoopacUbigeo();
		documentoPersonaNaturalGarante = new CoopacDocumentoPersona();
		tipoMaestroDocumentoDPNG = new CoopacTipoMaestro();
		datosLaboralesPNG = new CoopacDatosLaborales();
		datosLaboralesPNG2 = new CoopacDatosLaborales();
		tipoMaestroIngresoPNG = new CoopacTipoMaestro();
		tipoMaestroTelefonoPNG = new CoopacTipoMaestro();
		datosLaboralesPersonaNaturalGarante = new ArrayList<CoopacDatosLaborales>();
		datosLaboralesDataModelPNG = new DatosLaboralesDataModel();

		personaNaturalGaranteLista = new ArrayList<CoopacPersona>();
		direccionPersonaNaturalGaranteLista = new ArrayList<CoopacDireccionPersona>();
		telefonoPersonaNaturalGaranteLista = new ArrayList<CoopacTelefonoPersona>();
		documentoPersonaNaturalGaranteLista = new ArrayList<CoopacDocumentoPersona>();
		personaNaturalGaranteSeleccionado = new CoopacPersona();
		datosLaboralesPNGLista = new ArrayList<CoopacDatosLaborales>();

		coopacGarantePN = new CoopacGarante();
		coopacGarantePNLista = new ArrayList<CoopacGarante>();

		// GarantiaPrendaria
		garantiaPrendariaPersonaNaturalSolicitante = new CoopacGarantiaPrendaria();
		garantiaPrendariaPersonaNaturalSolicitanteLista = new ArrayList<CoopacGarantiaPrendaria>();
		garantiaPrendariaPNSSelecccionado = new CoopacGarantiaPrendaria();

	}

	public void pintarCampos() {
		tipoCredito = tipoCreditoService
				.getById(tipoCredito.getIdTipoCredito());
		interesMensual = Double
				.parseDouble(tipoCredito.getInteres().toString()) * 100;
		interesMensual = Math.rint((interesMensual) * 100) / 100;
		meses = Integer.parseInt(tipoCredito.getTiempo().toString());
	}

	public void addSolicitud(ActionEvent event) {
			try {
				addDatosPersonaNatural();
				FacesContext context = FacesContext.getCurrentInstance();  
		        context.addMessage(null, new FacesMessage("Grabado Exitoso", "PERSONA"));  
			} catch (Exception e) {
				// TODO: handle exception
			}
			
			try {
				addDatosConyugue();
				FacesContext context = FacesContext.getCurrentInstance();  
		        context.addMessage(null, new FacesMessage("Grabado Exitoso", "CONYUGUE"));  
			} catch (Exception e) {
				// TODO: handle exception
			}
			
			try {
				addRelacionConyugue();
			} catch (Exception e) {
				// TODO: handle exception
			}
			
			try {
				addDatosGarante();
				FacesContext context = FacesContext.getCurrentInstance();  
		        context.addMessage(null, new FacesMessage("Grabado Exitoso", "GARANTES"));  
			} catch (Exception e) {
				// TODO: handle exception
			}
			
			try {
				addPrendaSolicitante();
				FacesContext context = FacesContext.getCurrentInstance();  
		        context.addMessage(null, new FacesMessage("Grabado Exitoso", "PRENDA"));  
			} catch (Exception e) {
				// TODO: handle exception
			}
			
			try {
				addSolicitudCredito();
				FacesContext context = FacesContext.getCurrentInstance();  
		        context.addMessage(null, new FacesMessage("Grabado Exitoso", "SOLICITUD"));  
			} catch (Exception e) {
				// TODO: handle exception
			}

	}

	public void addSolicitudCredito() {
		try {
			// solcitudCredito.set
			solicitudCredito.setCoopacTipoMaestro(tipoMaestroDivisa);
			solicitudCredito.setCoopacTipoCredito(tipoCredito);
			solicitudCredito.setMonto(monto.toString());
			solicitudCredito.setInteresMensual(interesMensual.toString());
			solicitudCredito.setNumeroCuotas(meses.toString());
			solicitudCredito.setTipoInteres(tipoMaestroInteres
					.getIdTipoMaestro().toString());
			solicitudCredito.setFrecuencia(frecuenciaPago.toString());
			try {
				solicitudCredito
						.setCoopacPersonaByIdPersonaSolicitante(personaNaturalSolicitante);
				solicitudCredito
						.setCoopacPersonaByIdPersonaConyugueRepresentanteLegal(personaNaturalConyugue);
			} catch (Exception e) {
				// TODO: handle exception
			}

			solicitudCreditoService.save(solicitudCredito);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	public void addDatosPersonaNatural() {
		try {
			personaNaturalSolicitante
					.setCoopacTipoMaestroByIdTipoMaestroEstadoCivil(tipoMaestroEstadoCivilPNS);
			personaNaturalSolicitante
					.setCoopacTipoMaestroByIdTipoMaestroGradoEstudios(tipoMaestroGradoEstudiosPNS);
			personaNaturalSolicitante.setFlag(true);
			personaService.save(personaNaturalSolicitante);

			direccionPersonaNaturalSolicitante
					.setCoopacPersona(personaNaturalSolicitante);
			direccionPersonaNaturalSolicitante
					.setCoopacTipoMaestroByIdTipoMaestroZona(tipoMaestroZonaDPNS);
			direccionPersonaNaturalSolicitante
					.setCoopacTipoMaestroByIdTipoMaestroVia(tipoMaestroViaDPNS);
			direccionPersonaNaturalSolicitante
					.setCoopacTipoMaestroByIdTipoMaestroVivienda(tipoMaestroTipoViviendaDPNS);
			direccionPersonaNaturalSolicitante.setCoopacUbigeo(ubigeoDPNS);
			direccionPersonaNaturalSolicitante.setFlag(true);
			direccionPersonaService.save(direccionPersonaNaturalSolicitante);

			documentoPersonaNaturalSolicitante
					.setCoopacPersona(personaNaturalSolicitante);
			documentoPersonaNaturalSolicitante
					.setCoopacTipoMaestro(tipoMaestroDocumentoDPNS);
			documentoPersonaNaturalSolicitante.setFlag(true);
			documentoPersonaService.save(documentoPersonaNaturalSolicitante);

			for (CoopacDireccionPersona coopacDireccionPersona : direccionPersonaNaturalSolicitanteDLLista) {
				direccionPersonaService.save(coopacDireccionPersona);
			}
			for (CoopacDatosLaborales coopacDatosLaborales : personaNaturalTrabajoSolicitanteLista) {
				datosLaboralesService.save(coopacDatosLaborales);
			}
		} catch (Exception e) {
			System.out.println(e);
		}

	}

	public void adicionarTrabajoPNS() {
		datosLaboralesPNS.setCoopacPersona(personaNaturalSolicitante);
		datosLaboralesPNS
				.setCoopacTipoMaestroByIdTipoMaestroIngreso(tipoMaestroIngresoPNS);
		datosLaboralesPNS
				.setCoopacTipoMaestroByIdTipoMaestroTelefono(tipoMaestroTelefonoPNS);

		direccionPersonaNaturalSolicitanteDL
				.setCoopacTipoMaestroByIdTipoMaestroZona(tipoMaestroZonaDLDPNS);
		direccionPersonaNaturalSolicitanteDL
				.setCoopacTipoMaestroByIdTipoMaestroVia(tipoMaestroViaDLDPNS);
		direccionPersonaNaturalSolicitanteDL
				.setCoopacTipoMaestroByIdTipoMaestroVivienda(tipoMaestroTipoViviendaDLDPNS);
		direccionPersonaNaturalSolicitanteDL.setCoopacUbigeo(ubigeoDLDPNS);
		direccionPersonaNaturalSolicitanteDL.setFlag(true);

		datosLaboralesPNS
				.setCoopacDireccionPersona(direccionPersonaNaturalSolicitanteDL);

		direccionPersonaNaturalSolicitanteDLLista
				.add(direccionPersonaNaturalSolicitanteDL);
		personaNaturalTrabajoSolicitanteLista.add(datosLaboralesPNS);

		datosLaboralesPNS = new CoopacDatosLaborales();
		direccionPersonaNaturalSolicitanteDL = new CoopacDireccionPersona();
		tipoMaestroIngresoPNS = new CoopacTipoMaestro();
		tipoMaestroTelefonoPNS = new CoopacTipoMaestro();
		tipoMaestroZonaDLDPNS = new CoopacTipoMaestro();
		tipoMaestroViaDLDPNS = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDLDPNS = new CoopacTipoMaestro();
		ubigeoDLDPNS = new CoopacUbigeo();
	}

	public void deleteTrabajoSolicitante() {
		personaNaturalTrabajoSolicitanteLista
				.remove(personaNaturalTrabajoSolicitanteSeleccionado);
		try {
			for (CoopacDireccionPersona coopacDireccionPersona : direccionPersonaNaturalSolicitanteDLLista) {
				if (coopacDireccionPersona.getCoopacPersona().equals(
						personaNaturalTrabajoSolicitanteSeleccionado)) {
					direccionPersonaNaturalSolicitanteDLLista
							.remove(coopacDireccionPersona);
				}
			}
		} catch (Exception e) {
			System.out.println(e);
		}
	}

	public void addDatosConyugue() {

		personaNaturalConyugue
				.setCoopacTipoMaestroByIdTipoMaestroEstadoCivil(tipoMaestroEstadoCivilPNC);
		personaNaturalConyugue
				.setCoopacTipoMaestroByIdTipoMaestroGradoEstudios(tipoMaestroGradoEstudiosPNC);
		personaNaturalConyugue.setFlag(true);
		personaService.save(personaNaturalConyugue);

		// telefonoPersonaNaturalConyugue.setCoopacPersona(personaNaturalConyugue);
		// telefonoPersonaNaturalConyugue.setCoopacTipoMaestro(tipoMaestroTPNC);
		// telefonoPersonaNaturalConyugue.setFlag(true);
		// telefonoPersonaService.save(telefonoPersonaNaturalConyugue);

		telefonoPersonaNaturalSolicitante1
				.setCoopacPersona(personaNaturalSolicitante);
		telefonoPersonaNaturalSolicitante1
				.setCoopacTipoMaestro(tipoMaestroTPNS1);
		telefonoPersonaNaturalSolicitante1.setFlag(true);
		telefonoPersonaNaturalSolicitanteLista
				.add(telefonoPersonaNaturalSolicitante1);
		telefonoPersonaNaturalSolicitante2
				.setCoopacPersona(personaNaturalSolicitante);
		telefonoPersonaNaturalSolicitante2
				.setCoopacTipoMaestro(tipoMaestroTPNS1);
		telefonoPersonaNaturalSolicitante2.setFlag(true);
		telefonoPersonaNaturalSolicitanteLista
				.add(telefonoPersonaNaturalSolicitante2);
		telefonoPersonaNaturalSolicitante2
				.setCoopacPersona(personaNaturalSolicitante);
		telefonoPersonaNaturalSolicitante2
				.setCoopacTipoMaestro(tipoMaestroTPNS1);
		telefonoPersonaNaturalSolicitante2.setFlag(true);
		telefonoPersonaNaturalSolicitanteLista
				.add(telefonoPersonaNaturalSolicitante2);
		for (CoopacTelefonoPersona coopacTelefonoPersona : telefonoPersonaNaturalSolicitanteLista) {
			telefonoPersonaService.save(coopacTelefonoPersona);
		}

		direccionPersonaNaturalConyugue
				.setCoopacPersona(personaNaturalConyugue);
		direccionPersonaNaturalConyugue
				.setCoopacTipoMaestroByIdTipoMaestroZona(tipoMaestroZonaDPNC);
		direccionPersonaNaturalConyugue
				.setCoopacTipoMaestroByIdTipoMaestroVia(tipoMaestroViaDPNC);
		direccionPersonaNaturalConyugue
				.setCoopacTipoMaestroByIdTipoMaestroVivienda(tipoMaestroTipoViviendaDPNC);
		direccionPersonaNaturalConyugue.setCoopacUbigeo(ubigeoDPNC);
		direccionPersonaNaturalConyugue.setFlag(true);
		direccionPersonaService.save(direccionPersonaNaturalConyugue);

		documentoPersonaNaturalConyugue
				.setCoopacPersona(personaNaturalConyugue);
		documentoPersonaNaturalConyugue
				.setCoopacTipoMaestro(tipoMaestroDocumentoDPNC);
		documentoPersonaNaturalConyugue.setFlag(true);
		documentoPersonaService.save(documentoPersonaNaturalConyugue);

		datosLaboralesPNC.setCoopacPersona(personaNaturalConyugue);
		datosLaboralesPNC
				.setCoopacTipoMaestroByIdTipoMaestroIngreso(tipoMaestroIngresoPNC);
		datosLaboralesPNC
				.setCoopacTipoMaestroByIdTipoMaestroTelefono(tipoMaestroTelefonoPNC);
		datosLaboralesService.save(datosLaboralesPNC);

	}

	public void addDatosGarante() {

		try {

			for (CoopacPersona coopacPersona : personaNaturalGaranteLista) {
				personaService.save(coopacPersona);
			}
			FacesContext context = FacesContext.getCurrentInstance();  
	        context.addMessage(null, new FacesMessage("Persona Grabada satisfactoriamente"));  
		} catch (Exception e) {
			System.out.println(e);
		}

		try {

			for (CoopacTelefonoPersona coopacTelefonoPersona : telefonoPersonaNaturalGaranteLista) {
				telefonoPersonaService.save(coopacTelefonoPersona);
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		try {

			for (CoopacDireccionPersona coopacDireccionPersona : direccionPersonaNaturalGaranteLista) {
				direccionPersonaService.save(coopacDireccionPersona);
			}

		} catch (Exception e) {
			System.out.println(e);
		}
		try {

			for (CoopacDocumentoPersona coopacDocumentoPersona : documentoPersonaNaturalGaranteLista) {
				documentoPersonaService.save(coopacDocumentoPersona);
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		try {

			for (CoopacDatosLaborales coopacDatosLaborales : datosLaboralesPNGLista) {
				datosLaboralesService.save(coopacDatosLaborales);
			}

		} catch (Exception e) {
			System.out.println(e);
		}
		try {

			for (CoopacGarante coopacGarante : coopacGarantePNLista) {
				garanteService.save(coopacGarante);
			}
		} catch (Exception e) {
			System.out.println(e);
		}

	}

	public void adicionarTrabajo() {
		// List<CoopacDatosLaborales> coopacDatosLaborales =
		// datosLaboralesService.listar();
		// datosLaboralesDataModelPNS = new
		// DatosLaboralesDataModel(datosLaboralesPersonaNaturalSolicitante);
		datosLaboralesPersonaNaturalSolicitante.add(datosLaboralesPNS);
		// datosLaboralesPNS = new CoopacDatosLaborales();
	}

	public void adicionarGarante() {

		personaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroEstadoCivil(tipoMaestroEstadoCivilPNG);
		personaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroGradoEstudios(tipoMaestroGradoEstudiosPNG);
		personaNaturalGarante.setFlag(true);

		telefonoPersonaNaturalGarante.setCoopacPersona(personaNaturalGarante);
		telefonoPersonaNaturalGarante.setCoopacTipoMaestro(tipoMaestroTPNG);
		telefonoPersonaNaturalGarante.setFlag(true);

		direccionPersonaNaturalGarante.setCoopacPersona(personaNaturalGarante);
		direccionPersonaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroZona(tipoMaestroZonaDPNG);
		direccionPersonaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroVia(tipoMaestroViaDPNG);
		direccionPersonaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroVivienda(tipoMaestroTipoViviendaDPNG);
		direccionPersonaNaturalGarante.setCoopacUbigeo(ubigeoDPNG);
		direccionPersonaNaturalGarante.setFlag(true);

		documentoPersonaNaturalGarante.setCoopacPersona(personaNaturalGarante);
		documentoPersonaNaturalGarante
				.setCoopacTipoMaestro(tipoMaestroDocumentoDPNG);
		documentoPersonaNaturalGarante.setFlag(true);

		datosLaboralesPNG.setCoopacPersona(personaNaturalGarante);
		datosLaboralesPNG
				.setCoopacTipoMaestroByIdTipoMaestroIngreso(tipoMaestroIngresoPNG);
		datosLaboralesPNG
				.setCoopacTipoMaestroByIdTipoMaestroTelefono(tipoMaestroTelefonoPNG);

		//

		personaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroEstadoCivil(tipoMaestroEstadoCivilPNG);
		personaNaturalGarante
				.setCoopacTipoMaestroByIdTipoMaestroGradoEstudios(tipoMaestroGradoEstudiosPNG);
		personaNaturalGarante.setFlag(true);

		telefonoPersonaNaturalGarante.setCoopacPersona(personaNaturalGarante);
		telefonoPersonaNaturalGarante.setCoopacTipoMaestro(tipoMaestroTPNG);
		telefonoPersonaNaturalGarante.setFlag(true);

		coopacGarantePN.setCoopacPersona(personaNaturalGarante);
		coopacGarantePN.setFlag("1");
		coopacGarantePNLista.add(coopacGarantePN);

		// agregar a la lista
		personaNaturalGaranteLista.add(personaNaturalGarante);
		telefonoPersonaNaturalGaranteLista.add(telefonoPersonaNaturalGarante);
		direccionPersonaNaturalGaranteLista.add(direccionPersonaNaturalGarante);
		documentoPersonaNaturalGaranteLista.add(documentoPersonaNaturalGarante);
		datosLaboralesPNGLista.add(datosLaboralesPNG);

		// inicializar de nuevo
		personaNaturalGarante = new CoopacPersona();
		tipoMaestroEstadoCivilPNG = new CoopacTipoMaestro();
		tipoMaestroGradoEstudiosPNG = new CoopacTipoMaestro();
		telefonoPersonaNaturalGarante = new CoopacTelefonoPersona();
		direccionPersonaNaturalGarante = new CoopacDireccionPersona();
		tipoMaestroTPNG = new CoopacTipoMaestro();
		tipoMaestroViaDPNG = new CoopacTipoMaestro();
		tipoMaestroZonaDPNG = new CoopacTipoMaestro();
		tipoMaestroTipoViviendaDPNG = new CoopacTipoMaestro();
		ubigeoDPNG = new CoopacUbigeo();
		documentoPersonaNaturalGarante = new CoopacDocumentoPersona();
		tipoMaestroDocumentoDPNG = new CoopacTipoMaestro();
		datosLaboralesPNG = new CoopacDatosLaborales();
		datosLaboralesPNG2 = new CoopacDatosLaborales();
		tipoMaestroIngresoPNG = new CoopacTipoMaestro();
		tipoMaestroTelefonoPNG = new CoopacTipoMaestro();
		datosLaboralesPersonaNaturalGarante = new ArrayList<CoopacDatosLaborales>();
		datosLaboralesDataModelPNG = new DatosLaboralesDataModel();
		coopacGarantePN = new CoopacGarante();
		coopacGarantePNLista = new ArrayList<CoopacGarante>();

	}

	public void deleteGarante() {
		personaNaturalGaranteLista.remove(personaNaturalGaranteSeleccionado);

		try {
			for (CoopacTelefonoPersona coopacTelefonoPersona : telefonoPersonaNaturalGaranteLista) {
				if (coopacTelefonoPersona.getCoopacPersona().equals(
						personaNaturalGaranteSeleccionado)) {
					telefonoPersonaNaturalGaranteLista
							.remove(coopacTelefonoPersona);
				}
			}

			for (CoopacDireccionPersona coopacDireccionPersona : direccionPersonaNaturalGaranteLista) {
				if (coopacDireccionPersona.getCoopacPersona().equals(
						personaNaturalGaranteSeleccionado)) {
					direccionPersonaNaturalGaranteLista
							.remove(coopacDireccionPersona);
				}
			}

			for (CoopacDocumentoPersona coopacDocumentoPersona : documentoPersonaNaturalGaranteLista) {
				if (coopacDocumentoPersona.getCoopacPersona().equals(
						personaNaturalGaranteSeleccionado)) {
					documentoPersonaNaturalGaranteLista
							.remove(coopacDocumentoPersona);
				}

			}

			for (CoopacDatosLaborales coopacDatosLaborales : datosLaboralesPNGLista) {
				if (coopacDatosLaborales.getCoopacPersona().equals(
						personaNaturalGaranteSeleccionado)) {
					datosLaboralesPNGLista.remove(coopacDatosLaborales);
				}
			}

			for (CoopacGarante coopacGarante : coopacGarantePNLista) {
				if (coopacGarante.getCoopacPersona().equals(
						personaNaturalGaranteSeleccionado)) {
					datosLaboralesPNGLista.remove(coopacDatosLaborales);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void addRelacionConyugue() {
		try {
			coopacRelacionPersonaConyugue
					.setCoopacTipoMaestro(tipoMaestroRelacionPersonaConyugue);
			coopacRelacionPersonaConyugue
					.setCoopacPersonaByIdPersonaUno(personaNaturalSolicitante);
			coopacRelacionPersonaConyugue
					.setCoopacPersonaByIdPersonaDos(personaNaturalConyugue);
			relacionPersonaService.save(coopacRelacionPersonaConyugue);

			coopacRelacionPersonaConyugue.setFlag(true);
			coopacRelacionPersonaConyugue
					.setCoopacPersonaByIdPersonaUno(personaNaturalConyugue);
			coopacRelacionPersonaConyugue
					.setCoopacPersonaByIdPersonaDos(personaNaturalSolicitante);

			relacionPersonaService.save(coopacRelacionPersonaConyugue);
		} catch (Exception e) {

		}
	}

	public void adicionarTelefonoPersonaNaturalSolicitante() {
		try {
			telefonoPersonaNaturalSolicitante
					.setCoopacPersona(personaNaturalSolicitante);
			telefonoPersonaNaturalSolicitante
					.setCoopacTipoMaestro(tipoMaestroTPNS);
			telefonoPersonaNaturalSolicitante.setFlag(true);
			// telefonoPersonaService.save(telefonoPersonaNaturalSolicitante);
			telefonoPersonaNaturalSolicitanteLista
					.add(telefonoPersonaNaturalSolicitante);

			telefonoPersonaNaturalSolicitante = new CoopacTelefonoPersona();
			tipoMaestroTPNS = new CoopacTipoMaestro();
		} catch (Exception e) {

		}
	}

	// metodos para prenda
	public void adicionarPrendaSolicitante() {
		// garantiaPrendariaPersonaNaturalSolicitante.setFlag("1");
		garantiaPrendariaPersonaNaturalSolicitanteLista
				.add(garantiaPrendariaPersonaNaturalSolicitante);
		garantiaPrendariaPersonaNaturalSolicitante = new CoopacGarantiaPrendaria();
	}

	public void addPrendaSolicitante() {
		for (CoopacGarantiaPrendaria coopacGarantiaPrendaria : garantiaPrendariaPersonaNaturalSolicitanteLista) {
			try {
				System.out.println(coopacGarantiaPrendaria.getMarca());
				garantiaPrendariaService.save(coopacGarantiaPrendaria);

			} catch (Exception e) {
				System.out.println(e);
			}
		}
	}

	public void deletePrendaSolicitante() {
		Integer flag = 0;
		try {
			if (flag == 0) {
				garantiaPrendariaPersonaNaturalSolicitanteLista
						.remove(garantiaPrendariaPNSSelecccionado);
				flag = 1;
			}
		} catch (Exception e) {

		}
	}

	public DatosLaboralesDataModel getDatosLaboralesDataModelPNS() {
		// List<CoopacDatosLaborales> coopacDatosLaborales =
		// datosLaboralesService.listar();

		List<CoopacDatosLaborales> coopacDatosLaborales = datosLaboralesPersonaNaturalSolicitante;
		datosLaboralesDataModelPNS = new DatosLaboralesDataModel(
				coopacDatosLaborales);

		return datosLaboralesDataModelPNS;
	}

	public void setDatosLaboralesDataModelPNS(
			DatosLaboralesDataModel datosLaboralesDataModelPNS) {
		this.datosLaboralesDataModelPNS = datosLaboralesDataModelPNS;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public CoopacPersona getPersonaNaturalGaranteSeleccionado() {
		return personaNaturalGaranteSeleccionado;
	}

	public void setPersonaNaturalGaranteSeleccionado(
			CoopacPersona personaNaturalGaranteSeleccionado) {
		this.personaNaturalGaranteSeleccionado = personaNaturalGaranteSeleccionado;
	}

	public ITipoMaestroService getTipoMaestroService() {
		return tipoMaestroService;
	}

	public void setTipoMaestroService(ITipoMaestroService tipoMaestroService) {
		this.tipoMaestroService = tipoMaestroService;
	}

	public IPersonaService getPersonaService() {
		return personaService;
	}

	public void setPersonaService(IPersonaService personaService) {
		this.personaService = personaService;
	}

	public ITelefonoPersonaService getTelefonoPersonaService() {
		return telefonoPersonaService;
	}

	public void setTelefonoPersonaService(
			ITelefonoPersonaService telefonoPersonaService) {
		this.telefonoPersonaService = telefonoPersonaService;
	}

	public IDocumentoPersonaService getDocumentoPersonaService() {
		return documentoPersonaService;
	}

	public void setDocumentoPersonaService(
			IDocumentoPersonaService documentoPersonaService) {
		this.documentoPersonaService = documentoPersonaService;
	}

	public IDireccionPersonaService getDireccionPersonaService() {
		return direccionPersonaService;
	}

	public void setDireccionPersonaService(
			IDireccionPersonaService direccionPersonaService) {
		this.direccionPersonaService = direccionPersonaService;
	}

	public IRelacionPersonaService getRelacionPersonaService() {
		return relacionPersonaService;
	}

	public void setRelacionPersonaService(
			IRelacionPersonaService relacionPersonaService) {
		this.relacionPersonaService = relacionPersonaService;
	}

	public IDatosLaboralesService getDatosLaboralesService() {
		return datosLaboralesService;
	}

	public void setDatosLaboralesService(
			IDatosLaboralesService datosLaboralesService) {
		this.datosLaboralesService = datosLaboralesService;
	}

	public IGaranteService getGaranteService() {
		return garanteService;
	}

	public void setGaranteService(IGaranteService garanteService) {
		this.garanteService = garanteService;
	}

	public IGarantiaPrendariaService getGarantiaPrendariaService() {
		return garantiaPrendariaService;
	}

	public void setGarantiaPrendariaService(
			IGarantiaPrendariaService garantiaPrendariaService) {
		this.garantiaPrendariaService = garantiaPrendariaService;
	}

	public CoopacGarantiaPrendaria getGarantiaPrendariaPNSSelecccionado() {
		return garantiaPrendariaPNSSelecccionado;
	}

	public void setGarantiaPrendariaPNSSelecccionado(
			CoopacGarantiaPrendaria garantiaPrendariaPNSSelecccionado) {
		this.garantiaPrendariaPNSSelecccionado = garantiaPrendariaPNSSelecccionado;
	}

	public ISolicitudCreditoService getSolicitudCreditoService() {
		return solicitudCreditoService;
	}

	public void setSolicitudCreditoService(
			ISolicitudCreditoService solicitudCreditoService) {
		this.solicitudCreditoService = solicitudCreditoService;
	}

	public IUbigeoService getUbigeoService() {
		return ubigeoService;
	}

	public void setUbigeoService(IUbigeoService ubigeoService) {
		this.ubigeoService = ubigeoService;
	}

	public CoopacPersona getPersonaNaturalSolicitante() {
		return personaNaturalSolicitante;
	}

	public void setPersonaNaturalSolicitante(
			CoopacPersona personaNaturalSolicitante) {
		this.personaNaturalSolicitante = personaNaturalSolicitante;
	}

	public CoopacTipoMaestro getTipoMaestroEstadoCivilPNS() {
		return tipoMaestroEstadoCivilPNS;
	}

	public void setTipoMaestroEstadoCivilPNS(
			CoopacTipoMaestro tipoMaestroEstadoCivilPNS) {
		this.tipoMaestroEstadoCivilPNS = tipoMaestroEstadoCivilPNS;
	}

	public CoopacTipoMaestro getTipoMaestroGradoEstudiosPNS() {
		return tipoMaestroGradoEstudiosPNS;
	}

	public void setTipoMaestroGradoEstudiosPNS(
			CoopacTipoMaestro tipoMaestroGradoEstudiosPNS) {
		this.tipoMaestroGradoEstudiosPNS = tipoMaestroGradoEstudiosPNS;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalSolicitante() {
		return telefonoPersonaNaturalSolicitante;
	}

	public void setTelefonoPersonaNaturalSolicitante(
			CoopacTelefonoPersona telefonoPersonaNaturalSolicitante) {
		this.telefonoPersonaNaturalSolicitante = telefonoPersonaNaturalSolicitante;
	}

	public CoopacTipoMaestro getTipoMaestroTPNS() {
		return tipoMaestroTPNS;
	}

	public void setTipoMaestroTPNS(CoopacTipoMaestro tipoMaestroTPNS) {
		this.tipoMaestroTPNS = tipoMaestroTPNS;
	}

	public CoopacDireccionPersona getDireccionPersonaNaturalSolicitante() {
		return direccionPersonaNaturalSolicitante;
	}

	public void setDireccionPersonaNaturalSolicitante(
			CoopacDireccionPersona direccionPersonaNaturalSolicitante) {
		this.direccionPersonaNaturalSolicitante = direccionPersonaNaturalSolicitante;
	}

	public CoopacUbigeo getUbigeoDPNS() {
		return ubigeoDPNS;
	}

	public void setUbigeoDPNS(CoopacUbigeo ubigeoDPNS) {
		this.ubigeoDPNS = ubigeoDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroZonaDPNS() {
		return tipoMaestroZonaDPNS;
	}

	public void setTipoMaestroZonaDPNS(CoopacTipoMaestro tipoMaestroZonaDPNS) {
		this.tipoMaestroZonaDPNS = tipoMaestroZonaDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroViaDPNS() {
		return tipoMaestroViaDPNS;
	}

	public void setTipoMaestroViaDPNS(CoopacTipoMaestro tipoMaestroViaDPNS) {
		this.tipoMaestroViaDPNS = tipoMaestroViaDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroTipoViviendaDPNS() {
		return tipoMaestroTipoViviendaDPNS;
	}

	public void setTipoMaestroTipoViviendaDPNS(
			CoopacTipoMaestro tipoMaestroTipoViviendaDPNS) {
		this.tipoMaestroTipoViviendaDPNS = tipoMaestroTipoViviendaDPNS;
	}

	public CoopacDocumentoPersona getDocumentoPersonaNaturalSolicitante() {
		return documentoPersonaNaturalSolicitante;
	}

	public void setDocumentoPersonaNaturalSolicitante(
			CoopacDocumentoPersona documentoPersonaNaturalSolicitante) {
		this.documentoPersonaNaturalSolicitante = documentoPersonaNaturalSolicitante;
	}

	public CoopacTipoMaestro getTipoMaestroDocumentoDPNS() {
		return tipoMaestroDocumentoDPNS;
	}

	public void setTipoMaestroDocumentoDPNS(
			CoopacTipoMaestro tipoMaestroDocumentoDPNS) {
		this.tipoMaestroDocumentoDPNS = tipoMaestroDocumentoDPNS;
	}

	public List<CoopacDatosLaborales> getDatosLaboralesPersonaNaturalSolicitante() {
		return datosLaboralesPersonaNaturalSolicitante;
	}

	public void setDatosLaboralesPersonaNaturalSolicitante(
			List<CoopacDatosLaborales> datosLaboralesPersonaNaturalSolicitante) {
		this.datosLaboralesPersonaNaturalSolicitante = datosLaboralesPersonaNaturalSolicitante;
	}

	public CoopacDatosLaborales getDatosLaboralesPNS() {
		return datosLaboralesPNS;
	}

	public void setDatosLaboralesPNS(CoopacDatosLaborales datosLaboralesPNS) {
		this.datosLaboralesPNS = datosLaboralesPNS;
	}

	public CoopacDatosLaborales getDatosLaboralesPNS2() {
		return datosLaboralesPNS2;
	}

	public void setDatosLaboralesPNS2(CoopacDatosLaborales datosLaboralesPNS2) {
		this.datosLaboralesPNS2 = datosLaboralesPNS2;
	}

	public CoopacTipoMaestro getTipoMaestroIngresoPNS() {
		return tipoMaestroIngresoPNS;
	}

	public void setTipoMaestroIngresoPNS(CoopacTipoMaestro tipoMaestroIngresoPNS) {
		this.tipoMaestroIngresoPNS = tipoMaestroIngresoPNS;
	}

	public CoopacTipoMaestro getTipoMaestroTelefonoPNS() {
		return tipoMaestroTelefonoPNS;
	}

	public void setTipoMaestroTelefonoPNS(
			CoopacTipoMaestro tipoMaestroTelefonoPNS) {
		this.tipoMaestroTelefonoPNS = tipoMaestroTelefonoPNS;
	}

	public CoopacRelacionPersona getCoopacRelacionPersonaConyugue() {
		return coopacRelacionPersonaConyugue;
	}

	public void setCoopacRelacionPersonaConyugue(
			CoopacRelacionPersona coopacRelacionPersonaConyugue) {
		this.coopacRelacionPersonaConyugue = coopacRelacionPersonaConyugue;
	}

	public CoopacPersona getPersonaNaturalConyugue() {
		return personaNaturalConyugue;
	}

	public void setPersonaNaturalConyugue(CoopacPersona personaNaturalConyugue) {
		this.personaNaturalConyugue = personaNaturalConyugue;
	}

	public CoopacTipoMaestro getTipoMaestroEstadoCivilPNC() {
		return tipoMaestroEstadoCivilPNC;
	}

	public void setTipoMaestroEstadoCivilPNC(
			CoopacTipoMaestro tipoMaestroEstadoCivilPNC) {
		this.tipoMaestroEstadoCivilPNC = tipoMaestroEstadoCivilPNC;
	}

	public CoopacTipoMaestro getTipoMaestroGradoEstudiosPNC() {
		return tipoMaestroGradoEstudiosPNC;
	}

	public void setTipoMaestroGradoEstudiosPNC(
			CoopacTipoMaestro tipoMaestroGradoEstudiosPNC) {
		this.tipoMaestroGradoEstudiosPNC = tipoMaestroGradoEstudiosPNC;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalConyugue() {
		return telefonoPersonaNaturalConyugue;
	}

	public void setTelefonoPersonaNaturalConyugue(
			CoopacTelefonoPersona telefonoPersonaNaturalConyugue) {
		this.telefonoPersonaNaturalConyugue = telefonoPersonaNaturalConyugue;
	}

	public CoopacTipoMaestro getTipoMaestroTPNC() {
		return tipoMaestroTPNC;
	}

	public void setTipoMaestroTPNC(CoopacTipoMaestro tipoMaestroTPNC) {
		this.tipoMaestroTPNC = tipoMaestroTPNC;
	}

	public CoopacDireccionPersona getDireccionPersonaNaturalConyugue() {
		return direccionPersonaNaturalConyugue;
	}

	public void setDireccionPersonaNaturalConyugue(
			CoopacDireccionPersona direccionPersonaNaturalConyugue) {
		this.direccionPersonaNaturalConyugue = direccionPersonaNaturalConyugue;
	}

	public CoopacUbigeo getUbigeoDPNC() {
		return ubigeoDPNC;
	}

	public void setUbigeoDPNC(CoopacUbigeo ubigeoDPNC) {
		this.ubigeoDPNC = ubigeoDPNC;
	}

	public CoopacTipoMaestro getTipoMaestroZonaDPNC() {
		return tipoMaestroZonaDPNC;
	}

	public void setTipoMaestroZonaDPNC(CoopacTipoMaestro tipoMaestroZonaDPNC) {
		this.tipoMaestroZonaDPNC = tipoMaestroZonaDPNC;
	}

	public CoopacTipoMaestro getTipoMaestroViaDPNC() {
		return tipoMaestroViaDPNC;
	}

	public void setTipoMaestroViaDPNC(CoopacTipoMaestro tipoMaestroViaDPNC) {
		this.tipoMaestroViaDPNC = tipoMaestroViaDPNC;
	}

	public CoopacTipoMaestro getTipoMaestroTipoViviendaDPNC() {
		return tipoMaestroTipoViviendaDPNC;
	}

	public void setTipoMaestroTipoViviendaDPNC(
			CoopacTipoMaestro tipoMaestroTipoViviendaDPNC) {
		this.tipoMaestroTipoViviendaDPNC = tipoMaestroTipoViviendaDPNC;
	}

	public CoopacDocumentoPersona getDocumentoPersonaNaturalConyugue() {
		return documentoPersonaNaturalConyugue;
	}

	public void setDocumentoPersonaNaturalConyugue(
			CoopacDocumentoPersona documentoPersonaNaturalConyugue) {
		this.documentoPersonaNaturalConyugue = documentoPersonaNaturalConyugue;
	}

	public CoopacTipoMaestro getTipoMaestroDocumentoDPNC() {
		return tipoMaestroDocumentoDPNC;
	}

	public void setTipoMaestroDocumentoDPNC(
			CoopacTipoMaestro tipoMaestroDocumentoDPNC) {
		this.tipoMaestroDocumentoDPNC = tipoMaestroDocumentoDPNC;
	}

	public List<CoopacDatosLaborales> getDatosLaboralesPersonaNaturalConyugue() {
		return datosLaboralesPersonaNaturalConyugue;
	}

	public void setDatosLaboralesPersonaNaturalConyugue(
			List<CoopacDatosLaborales> datosLaboralesPersonaNaturalConyugue) {
		this.datosLaboralesPersonaNaturalConyugue = datosLaboralesPersonaNaturalConyugue;
	}

	public DatosLaboralesDataModel getDatosLaboralesDataModelPNC() {
		return datosLaboralesDataModelPNC;
	}

	public void setDatosLaboralesDataModelPNC(
			DatosLaboralesDataModel datosLaboralesDataModelPNC) {
		this.datosLaboralesDataModelPNC = datosLaboralesDataModelPNC;
	}

	public CoopacDatosLaborales getDatosLaboralesPNC() {
		return datosLaboralesPNC;
	}

	public void setDatosLaboralesPNC(CoopacDatosLaborales datosLaboralesPNC) {
		this.datosLaboralesPNC = datosLaboralesPNC;
	}

	public CoopacDatosLaborales getDatosLaboralesPNC2() {
		return datosLaboralesPNC2;
	}

	public void setDatosLaboralesPNC2(CoopacDatosLaborales datosLaboralesPNC2) {
		this.datosLaboralesPNC2 = datosLaboralesPNC2;
	}

	public CoopacTipoMaestro getTipoMaestroIngresoPNC() {
		return tipoMaestroIngresoPNC;
	}

	public void setTipoMaestroIngresoPNC(CoopacTipoMaestro tipoMaestroIngresoPNC) {
		this.tipoMaestroIngresoPNC = tipoMaestroIngresoPNC;
	}

	public CoopacTipoMaestro getTipoMaestroTelefonoPNC() {
		return tipoMaestroTelefonoPNC;
	}

	public void setTipoMaestroTelefonoPNC(
			CoopacTipoMaestro tipoMaestroTelefonoPNC) {
		this.tipoMaestroTelefonoPNC = tipoMaestroTelefonoPNC;
	}

	public CoopacDatosLaborales getDatosCoopacDatosLaboralesPersonaNaturalConyugue() {
		return datosCoopacDatosLaboralesPersonaNaturalConyugue;
	}

	public void setDatosCoopacDatosLaboralesPersonaNaturalConyugue(
			CoopacDatosLaborales datosCoopacDatosLaboralesPersonaNaturalConyugue) {
		this.datosCoopacDatosLaboralesPersonaNaturalConyugue = datosCoopacDatosLaboralesPersonaNaturalConyugue;
	}

	public CoopacPersona getPersonaNaturalGarante() {
		return personaNaturalGarante;
	}

	public void setPersonaNaturalGarante(CoopacPersona personaNaturalGarante) {
		this.personaNaturalGarante = personaNaturalGarante;
	}

	public CoopacTipoMaestro getTipoMaestroEstadoCivilPNG() {
		return tipoMaestroEstadoCivilPNG;
	}

	public void setTipoMaestroEstadoCivilPNG(
			CoopacTipoMaestro tipoMaestroEstadoCivilPNG) {
		this.tipoMaestroEstadoCivilPNG = tipoMaestroEstadoCivilPNG;
	}

	public CoopacTipoMaestro getTipoMaestroGradoEstudiosPNG() {
		return tipoMaestroGradoEstudiosPNG;
	}

	public void setTipoMaestroGradoEstudiosPNG(
			CoopacTipoMaestro tipoMaestroGradoEstudiosPNG) {
		this.tipoMaestroGradoEstudiosPNG = tipoMaestroGradoEstudiosPNG;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalGarante() {
		return telefonoPersonaNaturalGarante;
	}

	public void setTelefonoPersonaNaturalGarante(
			CoopacTelefonoPersona telefonoPersonaNaturalGarante) {
		this.telefonoPersonaNaturalGarante = telefonoPersonaNaturalGarante;
	}

	public CoopacTipoMaestro getTipoMaestroTPNG() {
		return tipoMaestroTPNG;
	}

	public void setTipoMaestroTPNG(CoopacTipoMaestro tipoMaestroTPNG) {
		this.tipoMaestroTPNG = tipoMaestroTPNG;
	}

	public CoopacDireccionPersona getDireccionPersonaNaturalGarante() {
		return direccionPersonaNaturalGarante;
	}

	public void setDireccionPersonaNaturalGarante(
			CoopacDireccionPersona direccionPersonaNaturalGarante) {
		this.direccionPersonaNaturalGarante = direccionPersonaNaturalGarante;
	}

	public CoopacUbigeo getUbigeoDPNG() {
		return ubigeoDPNG;
	}

	public void setUbigeoDPNG(CoopacUbigeo ubigeoDPNG) {
		this.ubigeoDPNG = ubigeoDPNG;
	}

	public CoopacTipoMaestro getTipoMaestroZonaDPNG() {
		return tipoMaestroZonaDPNG;
	}

	public void setTipoMaestroZonaDPNG(CoopacTipoMaestro tipoMaestroZonaDPNG) {
		this.tipoMaestroZonaDPNG = tipoMaestroZonaDPNG;
	}

	public CoopacTipoMaestro getTipoMaestroViaDPNG() {
		return tipoMaestroViaDPNG;
	}

	public void setTipoMaestroViaDPNG(CoopacTipoMaestro tipoMaestroViaDPNG) {
		this.tipoMaestroViaDPNG = tipoMaestroViaDPNG;
	}

	public CoopacTipoMaestro getTipoMaestroTipoViviendaDPNG() {
		return tipoMaestroTipoViviendaDPNG;
	}

	public void setTipoMaestroTipoViviendaDPNG(
			CoopacTipoMaestro tipoMaestroTipoViviendaDPNG) {
		this.tipoMaestroTipoViviendaDPNG = tipoMaestroTipoViviendaDPNG;
	}

	public CoopacDocumentoPersona getDocumentoPersonaNaturalGarante() {
		return documentoPersonaNaturalGarante;
	}

	public void setDocumentoPersonaNaturalGarante(
			CoopacDocumentoPersona documentoPersonaNaturalGarante) {
		this.documentoPersonaNaturalGarante = documentoPersonaNaturalGarante;
	}

	public CoopacTipoMaestro getTipoMaestroDocumentoDPNG() {
		return tipoMaestroDocumentoDPNG;
	}

	public void setTipoMaestroDocumentoDPNG(
			CoopacTipoMaestro tipoMaestroDocumentoDPNG) {
		this.tipoMaestroDocumentoDPNG = tipoMaestroDocumentoDPNG;
	}

	public CoopacDocumentoPersona getDocumentoPersonaNaturalGaranteTemp() {
		return documentoPersonaNaturalGaranteTemp;
	}

	public void setDocumentoPersonaNaturalGaranteTemp(
			CoopacDocumentoPersona documentoPersonaNaturalGaranteTemp) {
		this.documentoPersonaNaturalGaranteTemp = documentoPersonaNaturalGaranteTemp;
	}

	public CoopacTipoMaestro getTipoMaestroDocumentoDPNGTemp() {
		return tipoMaestroDocumentoDPNGTemp;
	}

	public void setTipoMaestroDocumentoDPNGTemp(
			CoopacTipoMaestro tipoMaestroDocumentoDPNGTemp) {
		this.tipoMaestroDocumentoDPNGTemp = tipoMaestroDocumentoDPNGTemp;
	}

	public List<CoopacDatosLaborales> getDatosLaboralesPersonaNaturalGarante() {
		return datosLaboralesPersonaNaturalGarante;
	}

	public void setDatosLaboralesPersonaNaturalGarante(
			List<CoopacDatosLaborales> datosLaboralesPersonaNaturalGarante) {
		this.datosLaboralesPersonaNaturalGarante = datosLaboralesPersonaNaturalGarante;
	}

	public DatosLaboralesDataModel getDatosLaboralesDataModelPNG() {
		return datosLaboralesDataModelPNG;
	}

	public void setDatosLaboralesDataModelPNG(
			DatosLaboralesDataModel datosLaboralesDataModelPNG) {
		this.datosLaboralesDataModelPNG = datosLaboralesDataModelPNG;
	}

	public CoopacDatosLaborales getDatosLaboralesPNG() {
		return datosLaboralesPNG;
	}

	public void setDatosLaboralesPNG(CoopacDatosLaborales datosLaboralesPNG) {
		this.datosLaboralesPNG = datosLaboralesPNG;
	}

	public CoopacDatosLaborales getDatosLaboralesPNG2() {
		return datosLaboralesPNG2;
	}

	public void setDatosLaboralesPNG2(CoopacDatosLaborales datosLaboralesPNG2) {
		this.datosLaboralesPNG2 = datosLaboralesPNG2;
	}

	public CoopacTipoMaestro getTipoMaestroIngresoPNG() {
		return tipoMaestroIngresoPNG;
	}

	public void setTipoMaestroIngresoPNG(CoopacTipoMaestro tipoMaestroIngresoPNG) {
		this.tipoMaestroIngresoPNG = tipoMaestroIngresoPNG;
	}

	public CoopacTipoMaestro getTipoMaestroTelefonoPNG() {
		return tipoMaestroTelefonoPNG;
	}

	public void setTipoMaestroTelefonoPNG(
			CoopacTipoMaestro tipoMaestroTelefonoPNG) {
		this.tipoMaestroTelefonoPNG = tipoMaestroTelefonoPNG;
	}

	public List getPersonaNaturalGaranteTotal() {
		return personaNaturalGaranteTotal;
	}

	public void setPersonaNaturalGaranteTotal(List personaNaturalGaranteTotal) {
		this.personaNaturalGaranteTotal = personaNaturalGaranteTotal;
	}

	public CoopacDatosLaborales getDatosCoopacDatosLaboralesPersonaNaturalGarante() {
		return datosCoopacDatosLaboralesPersonaNaturalGarante;
	}

	public void setDatosCoopacDatosLaboralesPersonaNaturalGarante(
			CoopacDatosLaborales datosCoopacDatosLaboralesPersonaNaturalGarante) {
		this.datosCoopacDatosLaboralesPersonaNaturalGarante = datosCoopacDatosLaboralesPersonaNaturalGarante;
	}

	public List<CoopacGarante> getCoopacGarantes() {
		return coopacGarantes;
	}

	public void setCoopacGarantes(List<CoopacGarante> coopacGarantes) {
		this.coopacGarantes = coopacGarantes;
	}

	public List<CoopacPersona> getPersonaNaturalGaranteLista() {
		return personaNaturalGaranteLista;
	}

	public void setPersonaNaturalGaranteLista(
			List<CoopacPersona> personaNaturalGaranteLista) {
		this.personaNaturalGaranteLista = personaNaturalGaranteLista;
	}

	public List<CoopacDocumentoPersona> getDocumentoPersonaNaturalGaranteLista() {
		return documentoPersonaNaturalGaranteLista;
	}

	public void setDocumentoPersonaNaturalGaranteLista(
			List<CoopacDocumentoPersona> documentoPersonaNaturalGaranteLista) {
		this.documentoPersonaNaturalGaranteLista = documentoPersonaNaturalGaranteLista;
	}

	public List<CoopacDireccionPersona> getDireccionPersonaNaturalGaranteLista() {
		return direccionPersonaNaturalGaranteLista;
	}

	public void setDireccionPersonaNaturalGaranteLista(
			List<CoopacDireccionPersona> direccionPersonaNaturalGaranteLista) {
		this.direccionPersonaNaturalGaranteLista = direccionPersonaNaturalGaranteLista;
	}

	public List<CoopacTelefonoPersona> getTelefonoPersonaNaturalGaranteLista() {
		return telefonoPersonaNaturalGaranteLista;
	}

	public void setTelefonoPersonaNaturalGaranteLista(
			List<CoopacTelefonoPersona> telefonoPersonaNaturalGaranteLista) {
		this.telefonoPersonaNaturalGaranteLista = telefonoPersonaNaturalGaranteLista;
	}

	public List<CoopacDatosLaborales> getDatosLaboralesPNGLista() {
		return datosLaboralesPNGLista;
	}

	public void setDatosLaboralesPNGLista(
			List<CoopacDatosLaborales> datosLaboralesPNGLista) {
		this.datosLaboralesPNGLista = datosLaboralesPNGLista;
	}

	public List getListaPersonaNaturalGarante() {
		return listaPersonaNaturalGarante;
	}

	public void setListaPersonaNaturalGarante(List listaPersonaNaturalGarante) {
		this.listaPersonaNaturalGarante = listaPersonaNaturalGarante;
	}

	public CoopacGarantiaPrendaria getGarantiaPrendariaPersonaNaturalSolicitante() {
		return garantiaPrendariaPersonaNaturalSolicitante;
	}

	public void setGarantiaPrendariaPersonaNaturalSolicitante(
			CoopacGarantiaPrendaria garantiaPrendariaPersonaNaturalSolicitante) {
		this.garantiaPrendariaPersonaNaturalSolicitante = garantiaPrendariaPersonaNaturalSolicitante;
	}

	public List<CoopacGarantiaPrendaria> getGarantiaPrendariaPersonaNaturalSolicitanteLista() {
		return garantiaPrendariaPersonaNaturalSolicitanteLista;
	}

	public void setGarantiaPrendariaPersonaNaturalSolicitanteLista(
			List<CoopacGarantiaPrendaria> garantiaPrendariaPersonaNaturalSolicitanteLista) {
		this.garantiaPrendariaPersonaNaturalSolicitanteLista = garantiaPrendariaPersonaNaturalSolicitanteLista;
	}

	public CoopacSolicitudCredito getSolicitudCredito() {
		return solicitudCredito;
	}

	public void setSolicitudCredito(CoopacSolicitudCredito solicitudCredito) {
		this.solicitudCredito = solicitudCredito;
	}

	public List<CoopacDatosLaborales> getCoopacDatosLaborales() {
		return coopacDatosLaborales;
	}

	public void setCoopacDatosLaborales(
			List<CoopacDatosLaborales> coopacDatosLaborales) {
		this.coopacDatosLaborales = coopacDatosLaborales;
	}

	public CoopacTipoMaestro getTipoMaestroRelacionPersonaConyugue() {
		return tipoMaestroRelacionPersonaConyugue;
	}

	public void setTipoMaestroRelacionPersonaConyugue(
			CoopacTipoMaestro tipoMaestroRelacionPersonaConyugue) {
		this.tipoMaestroRelacionPersonaConyugue = tipoMaestroRelacionPersonaConyugue;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalSolicitante1() {
		return telefonoPersonaNaturalSolicitante1;
	}

	public void setTelefonoPersonaNaturalSolicitante1(
			CoopacTelefonoPersona telefonoPersonaNaturalSolicitante1) {
		this.telefonoPersonaNaturalSolicitante1 = telefonoPersonaNaturalSolicitante1;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalSolicitante2() {
		return telefonoPersonaNaturalSolicitante2;
	}

	public void setTelefonoPersonaNaturalSolicitante2(
			CoopacTelefonoPersona telefonoPersonaNaturalSolicitante2) {
		this.telefonoPersonaNaturalSolicitante2 = telefonoPersonaNaturalSolicitante2;
	}

	public CoopacTelefonoPersona getTelefonoPersonaNaturalSolicitante3() {
		return telefonoPersonaNaturalSolicitante3;
	}

	public void setTelefonoPersonaNaturalSolicitante3(
			CoopacTelefonoPersona telefonoPersonaNaturalSolicitante3) {
		this.telefonoPersonaNaturalSolicitante3 = telefonoPersonaNaturalSolicitante3;
	}

	public CoopacTipoMaestro getTipoMaestroTPNS1() {
		return tipoMaestroTPNS1;
	}

	public void setTipoMaestroTPNS1(CoopacTipoMaestro tipoMaestroTPNS1) {
		this.tipoMaestroTPNS1 = tipoMaestroTPNS1;
	}

	public CoopacTipoMaestro getTipoMaestroTPNS2() {
		return tipoMaestroTPNS2;
	}

	public void setTipoMaestroTPNS2(CoopacTipoMaestro tipoMaestroTPNS2) {
		this.tipoMaestroTPNS2 = tipoMaestroTPNS2;
	}

	public CoopacTipoMaestro getTipoMaestroTPNS3() {
		return tipoMaestroTPNS3;
	}

	public void setTipoMaestroTPNS3(CoopacTipoMaestro tipoMaestroTPNS3) {
		this.tipoMaestroTPNS3 = tipoMaestroTPNS3;
	}

	public List<CoopacTelefonoPersona> getTelefonoPersonaNaturalSolicitanteLista() {
		return telefonoPersonaNaturalSolicitanteLista;
	}

	public void setTelefonoPersonaNaturalSolicitanteLista(
			List<CoopacTelefonoPersona> telefonoPersonaNaturalSolicitanteLista) {
		this.telefonoPersonaNaturalSolicitanteLista = telefonoPersonaNaturalSolicitanteLista;
	}

	public CoopacDireccionPersona getDireccionPersonaNaturalSolicitanteDL() {
		return direccionPersonaNaturalSolicitanteDL;
	}

	public void setDireccionPersonaNaturalSolicitanteDL(
			CoopacDireccionPersona direccionPersonaNaturalSolicitanteDL) {
		this.direccionPersonaNaturalSolicitanteDL = direccionPersonaNaturalSolicitanteDL;
	}

	public CoopacUbigeo getUbigeoDLDPNS() {
		return ubigeoDLDPNS;
	}

	public void setUbigeoDLDPNS(CoopacUbigeo ubigeoDLDPNS) {
		this.ubigeoDLDPNS = ubigeoDLDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroZonaDLDPNS() {
		return tipoMaestroZonaDLDPNS;
	}

	public void setTipoMaestroZonaDLDPNS(CoopacTipoMaestro tipoMaestroZonaDLDPNS) {
		this.tipoMaestroZonaDLDPNS = tipoMaestroZonaDLDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroViaDLDPNS() {
		return tipoMaestroViaDLDPNS;
	}

	public void setTipoMaestroViaDLDPNS(CoopacTipoMaestro tipoMaestroViaDLDPNS) {
		this.tipoMaestroViaDLDPNS = tipoMaestroViaDLDPNS;
	}

	public CoopacTipoMaestro getTipoMaestroTipoViviendaDLDPNS() {
		return tipoMaestroTipoViviendaDLDPNS;
	}

	public void setTipoMaestroTipoViviendaDLDPNS(
			CoopacTipoMaestro tipoMaestroTipoViviendaDLDPNS) {
		this.tipoMaestroTipoViviendaDLDPNS = tipoMaestroTipoViviendaDLDPNS;
	}

	public List<CoopacDatosLaborales> getPersonaNaturalTrabajoSolicitanteLista() {
		return personaNaturalTrabajoSolicitanteLista;
	}

	public void setPersonaNaturalTrabajoSolicitanteLista(
			List<CoopacDatosLaborales> personaNaturalTrabajoSolicitanteLista) {
		this.personaNaturalTrabajoSolicitanteLista = personaNaturalTrabajoSolicitanteLista;
	}

	public CoopacDatosLaborales getPersonaNaturalTrabajoSolicitanteSeleccionado() {
		return personaNaturalTrabajoSolicitanteSeleccionado;
	}

	public void setPersonaNaturalTrabajoSolicitanteSeleccionado(
			CoopacDatosLaborales personaNaturalTrabajoSolicitanteSeleccionado) {
		this.personaNaturalTrabajoSolicitanteSeleccionado = personaNaturalTrabajoSolicitanteSeleccionado;
	}

	public List<CoopacDireccionPersona> getDireccionPersonaNaturalSolicitanteDLLista() {
		return direccionPersonaNaturalSolicitanteDLLista;
	}

	public void setDireccionPersonaNaturalSolicitanteDLLista(
			List<CoopacDireccionPersona> direccionPersonaNaturalSolicitanteDLLista) {
		this.direccionPersonaNaturalSolicitanteDLLista = direccionPersonaNaturalSolicitanteDLLista;
	}

	public CoopacGarante getCoopacGarantePN() {
		return coopacGarantePN;
	}

	public void setCoopacGarantePN(CoopacGarante coopacGarantePN) {
		this.coopacGarantePN = coopacGarantePN;
	}

	public List<CoopacGarante> getCoopacGarantePNLista() {
		return coopacGarantePNLista;
	}

	public void setCoopacGarantePNLista(List<CoopacGarante> coopacGarantePNLista) {
		this.coopacGarantePNLista = coopacGarantePNLista;
	}

	public ITipoCreditoService getTipoCreditoService() {
		return tipoCreditoService;
	}

	public void setTipoCreditoService(ITipoCreditoService tipoCreditoService) {
		this.tipoCreditoService = tipoCreditoService;
	}

	public Double getInteresMensual() {
		return interesMensual;
	}

	public void setInteresMensual(Double interesMensual) {
		this.interesMensual = interesMensual;
	}

	public Integer getMeses() {
		return meses;
	}

	public void setMeses(Integer meses) {
		this.meses = meses;
	}

	public CoopacTipoCredito getTipoCredito() {
		return tipoCredito;
	}

	public void setTipoCredito(CoopacTipoCredito tipoCredito) {
		this.tipoCredito = tipoCredito;
	}

	public CoopacTipoMaestro getTipoMaestroInteres() {
		return tipoMaestroInteres;
	}

	public void setTipoMaestroInteres(CoopacTipoMaestro tipoMaestroInteres) {
		this.tipoMaestroInteres = tipoMaestroInteres;
	}

	public CoopacTipoMaestro getTipoMaestroDivisa() {
		return tipoMaestroDivisa;
	}

	public void setTipoMaestroDivisa(CoopacTipoMaestro tipoMaestroDivisa) {
		this.tipoMaestroDivisa = tipoMaestroDivisa;
	}

	public Double getMonto() {
		return monto;
	}

	public void setMonto(Double monto) {
		this.monto = monto;
	}

	public Integer getFrecuenciaPago() {
		return frecuenciaPago;
	}

	public void setFrecuenciaPago(Integer frecuenciaPago) {
		this.frecuenciaPago = frecuenciaPago;
	}

	public CoopacSolicitudCredito getSolcitudCredito() {
		return solcitudCredito;
	}

	public void setSolcitudCredito(CoopacSolicitudCredito solcitudCredito) {
		this.solcitudCredito = solcitudCredito;
	}
	
	String criterioBusqueda = "";
	/*BUSCAR PERSONA*/

	public String getCriterioBusqueda() {
		return criterioBusqueda;
	}

	public void setCriterioBusqueda(String criterioBusqueda) {
		this.criterioBusqueda = criterioBusqueda;
	}
	
	public void buscarPersona(){
		List<String> listaPersonas = personaService.listarPersonaDocumento();
		for(String persona:listaPersonas){
			//String numero=persona.substring(persona.lastIndexOf("-")+2, persona.length());
			System.out.println("SIIII: " + persona);
			System.out.println("DNI FILTRADO: "+ persona.substring(persona.lastIndexOf("-")+2, persona.length()));
		}
	}
	
	List<String> listaPersonas;
	List<String> listaCadenas;
	List<String> listaDNI;
	public void buscarPersonaLista(){
		listaPersonas = personaService.listarPersonaDocumento();
		listaCadenas = new ArrayList<String>();
		listaDNI = new ArrayList<String>();
		for(String persona:listaPersonas){
			listaCadenas.add(persona);
			String dni = persona.substring(persona.lastIndexOf("-")+2, persona.length());
			listaDNI.add(dni);
			//System.out.println("SIIII: " + persona);
			//System.out.println("DNI FILTRADO: "+ persona.substring(persona.lastIndexOf("-")+2, persona.length()));
		}
	}
	
	public List<String> autoCompletado(String query){
		List<String> results = new ArrayList<String>();  
        buscarPersonaLista();
        int limite = 0;
		try {
	        for (String persona:listaPersonas) {  
	        	if(persona.indexOf(query)>=0 && limite<=10 && query!=" "){
	        		results.add(persona);
	        	}
	        	limite++;
	        }  
		} catch (Exception e) {
			// TODO: handle exception
		}
          
        return results; 
		  
	}

	public List<String> getListaPersonas() {
		return listaPersonas;
	}

	public void setListaPersonas(List<String> listaPersonas) {
		this.listaPersonas = listaPersonas;
	}

	public List<String> getListaCadenas() {
		return listaCadenas;
	}

	public void setListaCadenas(List<String> listaCadenas) {
		this.listaCadenas = listaCadenas;
	}

	public List<String> getListaDNI() {
		return listaDNI;
	}

	public void setListaDNI(List<String> listaDNI) {
		this.listaDNI = listaDNI;
	}
	
	/*BUSCAR PERSONA*/

}
